package com.xuelang.pipeline.artifact.client.resource.dto;

import lombok.*;

import jakarta.validation.constraints.NotEmpty;
import java.util.Date;

/**
 * 镜像仓库命名空间实体类
 *
 * @author xiwen.zxg
 * @since 2024/7/22
 */
@Data
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ArtifactNamespaceDTO {
    /**
     * 主键
     */
    private Long id;

    /**
     * 仓库UUID
     */
    @NotEmpty(message = "仓库UUID不为空")
    private String artifactUuid;
    /**
     * 空间UUID，新增时为空，修改时不为空
     */
    private String uuid;
    /**
     * 空间名称
     */
    @NotEmpty(message = "空间名称不为空")
    private String name;

    /**
     * 访问级别，私有PRIVATE/公有PUBLIC
     */
    @NotEmpty(message = "访问级别不为空")
    private String accessLevel;

    /**
     * 标签
     */
    private String tag;

    /**
     * 加密策略，1手动
     */
    private Integer encryptStrategy;

    /**
     * 创建人
     */
    private String creatorId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人ID
     */
    private String updaterId;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 0否/删除、1是/使用，默认值为1
     */
    private Integer useFlag;
}
